It is known to provide ISDN services to subscribers of a digital communications network. Such services generally comprise a combination of so-called B-channels and D-channels, which provide for data transmission rates of 64 kb/s (kilobits per second) and 16 kb/s respectively. For example, standard combinations of two B-channels and one D-channel (2B+D) and 23 B-channels and one D-channel (23B+D) are being adopted.
Each ISDN subscriber may have several terminals (for example a voice/data terminal, a personal computer, a printer, a facsimile machine, etc.) which it is desired be connected to an ISDN subscriber line for access to the D-channel, which terminals may have various different data communication bit rates up to the 16 kb/s bit rate which can be accommodated by the D-channel. It is desirable to permit such terminals to communicate simultaneously via the D-channel to the extent that its capacity is not exceeded.
In addition, it is known to multiplex the D-channel data from a plurality of subscribers for communication of such data via a link between an exchange termination, to which the individual ISDN subscriber lines are connected, and a packet handler or switch for handling the packetized data of the D-channels. For example, such a link may provide a 64 kb/s data channel to communicate this data between the exchange termination and the packet switch. With statistical multiplexing, such a 64 kb/s data channel may conveniently be intended for handling the D-channel data for a total of, for example, 64 subscriber terminals, each of which is allocated a bandwidth or data rate of 300 b/s (bits per second) to 16 kb/s.
A problem with such an arrangement is that there is currently no effective method of limiting the individual terminals to their allocated data rates. This can lead to a loss of revenues for the provider of the ISDN services, in that a subscriber may pay for only a low data rate (e.g. 300 b/s) while using a terminal with a higher data rate (e.g. 16 kb/s). In addition, such use of terminals with data rates higher than those which have been allocated can result in excessive data traffic on the packet data link between the exchange termination and the packet switch, resulting in excessive loss of data packets for all subscribers and disruption of the operation of the packet network. This is of particular concern for subscribers who subscribe to a high data rate or grade of service.
In U.S. Pat. No. 4,896,316, issued Jan. 23, 1990 to Lespagnol et al. and entitled "Method and System of Control of Flow of Data Packets", there is described a data packet flow control arrangement in which a number representing an allocated average packet flow rate for each virtual circuit is stored in a register. A counter is incremented at a fixed rate, and with each packet of the respective virtual circuit the stored number is subtracted from the count of the counter. A positive result is translated into an authorization to transmit, and a negative result is translated into a refusal of authorization to transmit, packets via the virtual circuit.
In this prior art arrangement, therefore, for each terminal using a virtual circuit, packet transmission rights are accumulated in the counter when the actual data flow rate is less than the allocated flow rate. In consequence, if a terminal is idle (transmits no packets) for a while, it can accumulate sufficient transmission rights to saturate the packet data link when it resumes transmitting packets. Thus although this prior art would limit an average data flow rate from each terminal, it fails to limit the instantaneous data flow rate of each terminal. This failure to limit the instantaneous flow rate of each terminal leaves a potential for the operation of one terminal to seriously degrade the bandwidth allocated for other terminals. Obviously, such degradation of allocated bandwidth should be avoided.
It is also known, for example from the discussion of prior art in U.S. Pat. No. 4,839,891 issued Jun. 13, 1989 to Kobayashi et al. and entitled "Method for Controlling Data Flow", to use RR (receive ready) and RNR (receive not ready) signalling to control the flow of data packets between terminals having different operating speeds, thereby to avoid overflow of a receive buffer in which received packets are stored. However, this prior art is concerned with avoiding undesired loss of data packets, and is not concerned with limiting the use by terminals, connected to a statistically multiplexed data link, of transmission rates higher than authorized.
An object of this invention, therefore, is to provide an improved method of and apparatus for controlling the flow of data, in particular on an ISDN D-channel which may be used in a multiplexed manner by a plurality of terminals.